In a storage apparatus, the Thin Provisioning function and snapshot function are sometimes managed using different page sizes in order to exploit the respective features of these functions.
The foregoing Thin Provisioning function is a function which provides a virtual volume to a host apparatus and which, if write access to the virtual volume is made by the host apparatus, assigns a physical storage area for actually storing data to the virtual volume. Here, the physical storage area, which stores data, is a storage area which is provided by one or more HDD (hard disk drives) and one or more logical volumes are defined in the storage area. Furthermore, a single pool is configured from one or more logical volumes and one or more virtual volumes are associated with each of the pools. Further, if write access to a virtual volume is made by the host apparatus, storage area is assigned, in units of a predetermined size (hereinafter storage areas of this size are called ‘pages’), to relevant segments of the write-accessed virtual volume from any of the logical volumes in the storage pool associated with this virtual volume.
When data writing is performed using a Thin Provisioning function of this kind, a large-page size storage area is preferably assigned for emphasis on sequential performance. PTL1, for example, discloses a technology for assigning the actual storage area in a RAID (Redundant Arrays of Independent Disks) group to a virtual volume in chunk units comprising a plurality of pages of equal size.
Meanwhile, the snapshot function is a function which holds images of a certain logical volume at a certain point in time (for example, at the time a snapshot acquisition request is received from the host apparatus). In a storage system, by executing the snapshot function at regular intervals, replication (backups) of data in the logical volume can be acquired intermittently. Furthermore, in the case of the snapshot function, normally, when data replication is acquired, a copy of the whole logical volume is not executed and, when write access is made to the logical volume, write processing is performed after pre-write access data has been saved in the pool. When differential data is stored using this snapshot function, a small-page size storage area is preferably assigned in view of capacity efficiency.
Therefore, in order to assign pages of suitable sizes for each of these functions, the creation of independent pools has been considered. However, if independent pools are created, it takes time and costs money to perform the pool capacity design and management work, which is a considerable burden on the user, and hence there is a need to be able to manage storage areas of different page sizes which are used by the Thin Provisioning function and snapshot function in a single pool. There is also a need for unused pages in the same pool to be loaned between the Thin Provisioning function and snapshot function.